<?xml version="1.0" encoding="UTF-8"?>
<validateThis xsi:noNamespaceSchemaLocation="http://www.validatevariables.org/validateThis.xsd"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <objectProperties>
        <!-- Boolean: Missing value equates to false, no need to add required rules -->
        <property name="Deleted">
            <rule type="boolean" contexts="*" />
        </property>
        <!-- Strings -->
        <property name="Origin">
            <rule type="required" contexts="*" />
            <rule type="minLength" contexts="*">
                <param name="minLength" value="3" />
            </rule>
        </property>
        <property name="First_Name">
            <rule type="required" contexts="*" />
            <rule type="minLength" contexts="*">
                <param name="minLength" value="1" />
            </rule>
        </property>
        <property name="Last_Name">
            <rule type="required" contexts="*" />
            <rule type="minLength" contexts="*">
                <param name="minLength" value="1" />
            </rule>
        </property>
        <property name="Address">
            <rule type="required" contexts="*" />
            <rule type="minLength" contexts="*">
                <param name="minLength" value="1" />
            </rule>
        </property>
        <property name="City">
            <rule type="required" contexts="*" />
            <rule type="minLength" contexts="*">
                <param name="minLength" value="1" />
            </rule>
        </property>
        <property name="Zip_Code">
            <rule type="required" contexts="*" />
            <rule type="postalcode" contexts="*" />
        </property>
        <property name="Zip_Code_Alt1">
            <rule type="postalcode" contexts="*" />
        </property>
        <property name="Zip_Code_Alt2">
            <rule type="postalcode" contexts="*" />
        </property>
        <property name="Phone1">
            <rule type="telephone" contexts="*" />
        </property>
        <property name="Phone2">
            <rule type="telephone" contexts="*" />
        </property>
        <property name="Phone_Alt1">
            <rule type="telephone" contexts="*" />
        </property>
        <property name="Phone_Alt2">
            <rule type="telephone" contexts="*" />
        </property>
        <property name="Email">
            <rule type="email" contexts="*" />
        </property>
        <property name="Email_Alt1">
            <rule type="email" contexts="*" />
        </property>
        <property name="Email_Alt2">
            <rule type="email" contexts="*" />
        </property>
        <property name="SSN_Code">
            <rule type="required" contexts="*" />
        </property>
        <!-- integers -->
        <property name="Student_ID">
            <rule type="required" contexts="*" />
            <rule type="integer" contexts="*" />
        </property>
        <property name="Workshop_ID">
            <rule type="required" contexts="*" />
            <rule type="integer" contexts="*" />
            <rule type="min" contexts="*">
                <param name="min" value="1" />
            </rule>
        </property>
        <!-- dates -->
        <property name="DOB">
            <rule type="required" contexts="*" />
            <rule type="date" contexts="*" />
        </property>
    </objectProperties>
</validateThis>
